package org.hashmaptest;
/**
 * @heguojin
 */

import java.util.concurrent.ConcurrentHashMap;

public class MyTest {

    //线程安全，用了ConcurrentHashMap，只能保障Map数据是安全的
    public static ConcurrentHashMap<String,Integer> map = new ConcurrentHashMap<>();
    Thread  a = new Thread();

    public static void main(String[] args) {
//
//        //Thread A
//        //Thread B
//
//        Integer count = map.get("count");
//        if(count == null ){
//            map.put("count",1);
//        }else{
//            map.put("count",count+1)
//        }
        

        while(true){
           Integer count = map.get("count");
           if(count == null){
               // 将数据存储到Map中，会返回null ,代表成功
               if(map.putIfAbsent("count",1)==null){
                   break;
               }else{
                   if(map.replace("count",count,count+1)){
                       break;
                   }
               }
           }
        }



    }


}
